﻿using RealidadeAumentada.Entidades;

namespace RealidadeAumentada.Servicos.Rastreador
{
    public abstract class Rastreador_Principios : IRastreador
    {
        protected ETamanho _size;
	    protected int _buffer_type;
        
        protected Rastreador_Principios(int i_width, int i_height, int i_buffer_type)
	    {
		    this._size= new ETamanho(i_width,i_height);
		    this._buffer_type=i_buffer_type;
	    }

	    public int ObterLargura()
	    {
		    return this._size.w;
	    }

        public int ObterAltura()
	    {
		    return this._size.h;
	    }

        public ETamanho ObterTamanho()
	    {
		    return this._size;
	    }
        
        public int ObterTipoBuffer()
	    {
		    return _buffer_type;
	    }
        
        public bool EhIgualTipoBuffer(int i_type_value)
	    {
		    return this._buffer_type==i_type_value;
	    }
        
        public abstract object ObterBuffer();
        public abstract bool TemBuffer();
        public abstract void CobrirBuffer(object i_ref_buf);
    }
}
